#pragma once
#include "MyInclude.h"


using Poco::URIStreamOpener;
using Poco::StreamCopier;
using Poco::Path;
using Poco::URI;
using Poco::SharedPtr;
using Poco::Exception;
using Poco::Net::HTTPStreamFactory;
using Poco::Net::HTTPSStreamFactory;
using Poco::Net::FTPStreamFactory;
using Poco::Net::SSLManager;
using Poco::Net::Context;
using Poco::Net::KeyConsoleHandler;
using Poco::Net::PrivateKeyPassphraseHandler;
using Poco::Net::InvalidCertificateHandler;


class TwitterAPIWrap
{
public:
	TwitterAPIWrap(void);
	~TwitterAPIWrap(void);
	std::istream * doSearchAPI(TwitterQuery * query);
	std::istream * doStreamTrackAPI(TwitterQuery * query);
	std::istream * doFriendsIds(TwitterFriendFlowerQuery *query);
	std::istream * doStreamSample(TwitterQuery * query);

private:
	std::istream* open(const URI& uri, std::string username, std::string password);
	std::istream* open(const URI& uri, std::string content);
	string getOauthContent(string url, TwitterFriendFlowerQuery *query);

	std::string mUserID;
	std::string mPassWord;
};
